#ifndef MAZEWIDGET_H
#define MAZEWIDGET_H

#include "mazegenerator.h"
#include <QWidget>
#include <QVector>
#include <QPoint>

class MazeWidget : public QWidget
{
    Q_OBJECT
public:
    explicit MazeWidget(QWidget *parent = nullptr);

    void setMaze(const MazeData& mazeData); // 设置迷宫数据（包括入口和出口）
    void paintEvent(QPaintEvent *event) override;  // 绘图事件
    void paintPath(QVector<int> path0,QVector<int> path);
    QVector<QVector<int>> maze;  // 迷宫数组
    QPoint start;  // 入口坐标
    QPoint end;    // 出口坐标
    bool drawPath=false;
    QRect pathRect;
    QVector<QRect> pathRects;
    QVector<QRect>pR;
};

#endif // MAZEWIDGET_H
